Geschachtelte interne Tabellen
Zwei oder mehrere geschachtelte Tabellen können ebenfalls mit einem einfachen Trick schneller abgearbeitet werden. In diesem Beispiel zeigen wir Ihnen wie das geht.
Geschachtelte Tabellen werden normalerweise in der folgenden Weise bearbeitet:
*** Abarbeitung der äußeren Tabelle
LOOP AT itab1 ASSIGNING <itab1>.
*** Abarbeitung der inneren Tabelle
LOOP AT itab2 ASSIGNING <itab2>
WHERE feld1 = <itab1>-feld1.
ENDLOOP.
ENDLOOP.
Besser ist allerdings die folgende Variante. Sie ist etwas umständlicher, jedoch trotz der Sortierung deutlich schneller.
DATA l_index TYPE sytabix.
SORT: itab1, itab2.
*** Abarbeitung der äußeren Tabelle
LOOP AT itab1 ASSIGNING <itab1>.
*** Ermittlung des ersten Eintrags der inneren Tabelle
READ TABLE itab2 WITH KEY feld1 = <itab1>-feld1.
CHECK sy-subrc = 0.
l_index = sy-tabix.
*** Abarbeitung der inneren Tabelle ab ermitteltem Eintrag
LOOP AT itab2 ASSIGNING <itab2> FROM l_index.
IF <itab1>-feld1 <> <itab2>-feld1.
EXIT.
ELSE.
…
ENDIF.
ENDLOOP. “itab2.
ENDLOOP. “itab1.
- Interview mit Björn Schulz (Software-Heroes.com) - 3. September 2024
- Daten aus ALV ermitteln - 3. September 2024
- So lange es den SAPGUI noch gibt… - 27. Juni 2024